package com.wasion.pwportable.protocol.analyzer;

import com.wasion.pwportable.protocol.Result;

public interface AnalyzerIF {

	// public static final int I11 = 0x11; // Length
	// // 4
	// // 读指示器时间
	// // time的整数
	// public static final int I12 = 0x12; // Length
	// // 4
	// // 写
	//
	// public static final int I13 = 0x13; // Length
	// // 1
	// // 设备E2PROM
	// // 型号
	// // 1：24C16
	// // 2:24C02
	//
	// public static final int I15 = 0x15; // Length
	// // 3
	// // 电场参数查询
	// // 1
	// // 上电电场阀值
	// // 2
	// // 电压跌落持续时间
	// // 3电压下降比率
	// public static final int I16 = 0x16; // Length
	// // 3
	// // 电场参数设置
	// // 各一个字节。
	//
	// public static final int I95 = 0x95; // 0x95
	// // 设备查询
	// // 生产检测使用
	//
	// public final static int D1 = 29; // 0x1D
	// // 地址信息查询
	// public final static int E1 = 30; // 0x1E
	// // 地址信息修改
	//
	// public final static int C2 = 44; // 0x2C
	// // 运行参数读取
	// public final static int D2 = 45; // 0x2D
	// // 发牌复归时间设置
	//
	// public final static int E2 = 46; // 0x2E
	// // 发牌复归时间查询
	// public final static int F2 = 47; // 0x2F
	// // 运行参数设置
	//
	// public final static int F3 = 63; // 0x3F
	// // 实时电流数据块
	//
	// public final static int I21 = 33; // 0x21
	// // 休眠唤醒
	// // 查询
	// public final static int I22 = 34; // 0x22
	// // 休眠唤醒
	// // 设置
	//
	// public final static int I30 = 48; // 0x30
	// // 节点运行状态信息
	// public final static int I31 = 49; // 0x31
	// // 实时电池容量
	// public final static int I32 = 50; // 0x32
	// // `法拉电容电量
	//
	// public final static int E4 = 78; // 0x4E
	// // 校表相关参数信息
	// // 查询
	// public final static int F4 = 79; // 0x4F
	// // 校表相关参数信息
	// // 设置
	//
	// public final static int I50 = 80; // 0x50
	// // 翻牌复归测试
	// // 0x55
	// // 短路翻牌
	// // 0x66
	// // 接地翻牌
	// // OxAA
	// // 复归
	//
	// public final static int AA = 170; // 0xAA
	// // 唤醒帧数据信息
	// // 查询
	// public final static int BB = 187; // 0xBB
	// // 通讯唤醒回应帧
	//
	// public final static int CC = 0xCC; // 0xCC
	// // 数据确认帧
	//
	// public final static int DD = 0xDD; // 0xCC
	// // 事件告警唤醒帧
	// public final static int EE = 0xDD; // 0xEE
	// // 告警唤醒回应帧
	//
	// public final static int I66 = 102; // 0x66
	// // 故障告警帧数据信息
	//
	// public final static int E6 = 110; // 0x6E
	// // 节点相邻属性信息
	// // 查询
	// public final static int F6 = 111; // 0x6F
	// // 节点相邻属性信息
	// // 设置
	//
	// public final static int I72 = 114; // 0x72
	// // 读休眠时间
	// public final static int I73 = 115; // 0x73
	// // 写休眠时间
	//
	// public final static int A1 = 0x1A; // 0x1A
	// // 读设备通讯短码ID
	// // (用于生产修改)
	// public final static int B1 = 0x1B; // 0x1B
	// // 写设备通讯短码ID
	// // (用于生产修改)
	//
	// public final static int I23 = 0x23; // 0x23
	// // 读启动电流
	// public final static int I24 = 0x24; // 0x24
	// // 写启动电流
	//
	// public final static int I25 = 0x25; // 0x25
	// // 读接地电流增量
	// // （A）
	// public final static int I26 = 0x26; // 0x26
	// // 写接地电流增量
	//
	// public final static int I27 = 0x27; // 0x27
	// // 读最大接地时间
	// public final static int I28 = 0x28; // 0x28
	// // 写最大接地时间
	// // （ms）
	//
	// public final static int E3 = 0x3E; // 0x3E
	// // 接地电流突变量
	// // （2字节）
	//
	// public final static int I74 = 0x74; // 0x74
	// // RSSI接收信号强度
	// public final static int I75 = 0x75; // 0x75
	// // 读无线通讯频率
	// public final static int I76 = 0x76; // 0x76
	// // 写无线通讯频率
	//
	// public final static int I77 = 0x77; // 0x77
	// // 读
	// // 故障判断单元检测出故障次数
	// // 和
	// // 通讯单元统计的故障上报次数
	// public final static int I78 = 0x78; // 0x78
	// // 读最近FCI复位原因\FCI复位总次数\无线复位总次数
	//
	// public final static int I79 = 0x79; // 0x79
	// // 下发FCI复位
	//
	// public final static int I90 = 0x90; // 0x90
	// // 读厂内维护与管理
	//
	// public static final int I91 = 0x91; // //0x91
	// // 设出厂参数
	//
	// public static final int A3 = 0x3A; // 电缆型读出厂参数
	// public static final int B3 = 0x3B; // 电缆型读出厂参数
	//
	// public final static int ID3 = 0x3D; // //
	// // 电缆型温度

	static final int DATABITSTART = 22;
	static final int DATALENGTHENDBIT = 4;

	static final int DATALENGTHSTARTBIT = 2; // 数据

	static final int DATATPYESTARTBIT = 10;
	static final int DATATPYENDBIT = 12;

	int frameLength = 0;
	int numBytes = 0;

	public Result analyze(String ackBS) throws StringIndexOutOfBoundsException;

	public void setActionId(String actionId);
}
